Communication networks allow network clients, such as computer systems, to exchange data with each other at ever-increasing speeds. Communication protocols define the techniques and formats that such devices use when exchanging data via the communication networks. Communication networks connect the devices over various media, such as optical, electrical, or wireless media, and/or a combination thereof. Further, such a network can include network devices that facilitate such communication. These network devices (such as switches, routers, and the like) provide, for example, routing functionality that can route data (e.g., carried in packets, frames, or the like) from one point in the communications network to another, possibly within a larger communication network.
Often, devices in one portion of a network (e.g., a sub-network) will use a different addressing scheme (e.g., a private or a non-routable addressing scheme) from that used by another portion of the network (e.g., a wide area network (WAN) such as the Internet). In order for a device in such a sub-network to communicate data with a device in another sub-network, an address translation is typically performed. A network address translation (NAT) device typically performs such network address translations. Thus, a device in a sub-network typically sends a network communication to an NAT device, which performs network address translation, and then forwards this network communication using a different network address to a device in another sub-network.
NAT devices can be used, for example, to translate network addresses of a network communication received from (or destined for) devices in an internal network (e.g., an intranet) to network addresses that are used by an external network. In a similar fashion, the network addresses of multiple network devices in an internal network can be translated to a single external network address by translating the given internal network addresses to corresponding sub-addresses of the single external network address (e.g., by translating a number of internetwork protocol (IP) addresses (as well as ports thereof) in the internal network to ports on a given external IP address). In an IP addressing environment (e.g., one in which the Open Systems Interconnection (OSI) model is employed), such address translation techniques are known as port address translation (PAT) techniques. This translating between multiple internal network addresses and a single external network address is, in some networking models, referred to as network address “overloading.”
While embodiments such as those presented in the application are susceptible to various modifications and alternative forms, specific embodiments are provided as examples in the drawings and description of example embodiments. It should be understood that the drawings and description of example embodiments are not intended to limit the embodiments to the particular form disclosed. Instead, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of methods and systems such as those described herein, as defined by the appended claims.